iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
自我挑戰組

初學者學習到的JavaScript 知識系列 第 15

鐵人賽DAY15-Stream pipeline

  • 分享至 

  • xImage
  •  

Stream API是在JAVA 8引入的一個工具,用來處理集合數據,讓代碼更加簡潔易維護,而Stream pipeline是Stream API中的核心概念。Stream本身是不可變的,每次操作都會返回一個新的Stream,並且不會修改原來的Stream。
Stream pipeline包含三個部分,
源(source)是pipeline的起點,通常是一個集合、數組、或生成器,這些東西會被轉換成一個Stream。

中間操作(intermediate operations)會接受一個Stream並返回一個新的Stream,這裡的操作通常是惰性的,也就是不會直接執行,只有終端操作使用的時候才會實際執行,像是filter、map、sorted等都是常見的中間操作。

終端操作(terminal operations)會觸發Stream Pipeline的執行,使用Stream 並生成一個結果,終端操作後Stream就會被關閉,不能再使用。collect、forEach、reduce等都是常見的終端操作。

舉例如何過濾、轉換並收集結果

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class test {
    public static void main(String[] args) {
        List<String> myList =
                Arrays.asList("apple","banana","cherry","avocado","orange","grape");
        List<String> result = myList.stream()
                .filter(s -> s.startsWith("a"))   //先過濾出a開頭的字串
                .map(String::toUpperCase)         //將字串轉換為大寫
                .sorted()                         //排序
                .collect(Collectors.toList());    //收集結果
        System.out.println(result);       //輸出結果[APPLE,AVOCADO]
    }
}

上一篇
鐵人賽DAY14-泛型
下一篇
鐵人賽DAY16-多執行緒
系列文
初學者學習到的JavaScript 知識30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言